Computer users frequently search for items. Two common types of search include searches for web pages using Internet search engines, and searching directories of a disk for files. In both cases, the search mechanism typically allows the user to specify properties (keywords, filenames, etc.) possessed by the items for which the user is searching. The search engine searches for items that have the specified properties, and presents a set of matching items to the user. In some cases, the set of matching items may be ranked. For example, Internet search engines typically rank matching items based on estimated relevance to the search criteria.
In most search environments, the searchable items that are the target of any given search tend to be homogenous. For example, in a file system environment, file system search engines typically only execute searches against files. In the Internet environment, any given search of an Internet search engine is typically performed only against all indexed web pages, all indexed digital images, or all indexed video clips. Web pages, digital images and video clips are all accessible as a URL, thus allowing Internet search engines to find them.
While searches that are executed against a specific type of item are useful in some contexts, other contexts, more flexible search mechanisms would be better. For example, in collaborative environments, many types of “collaborative artifacts” are generated. A collaborative artifact is any item produced as the result of some action. Examples of collaborative artifacts include office documents, emails, voice transcripts, instant messaging transcripts, faxes, images, etc.
Up until now, the conventional way to find anything in a collaborative environment was doing a “brute force” search through a file system. To effectively use a brute force file system search, the artifacts had to be all in one place. However, even with all of the artifacts in the same place, the search had to look at everything and had little notion (if any) of what was more relevant information for what the user searched. Further, the entire scope of the search was just the file system directory hierarchy. People and ‘context’ of the search were never part of the search equation.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.